/**
盛最多水的容器，给定一个数组，每个元素代表一个高度，求出能盛最多水的容器
示例 1:
输入: height = [1,8,6,2,5,4,8,3,7]
输出: 49 
解释：图中垂直线代表输入数组 [1,8,6,2,5,4,8,3,7]。在此情况下，容器能够容纳水（表示为蓝色部分）的最大值为 49。
 */
function maxArea(height) {
  let maxArea = 0
  let left = 0
  let right = height.length - 1
  while(left < right) {
    let area = Math.min(height[left], height[right]) * (right - left)
    maxArea = Math.max(maxArea, area)
    height[left] > height[right] ? right-- : left++
  }
  return maxArea
}
const height = [1,8,6,2,5,4,8,3,7]
console.log(maxArea(height))

/**
idea: 双指针，left从数组开头开始，right从数组末尾开始，计算两个指针之间的面积，更新最大面积
如果height[left] > height[right]，表示左边高度小于右边高度，则right左移，否则left右移
 */